package com.billdowney.service.interfaces.system.log;

import com.billdowney.entity.system.log.SystemLog;
import com.billdowney.entity.user.UserLoginInfo;
import com.billdowney.service.interfaces.base.BaseService;
import com.billdowney.util.log.SystemLogHandleType;

/**
 * 系统日志接口
 * 
 * @author 超级小富翁 - BillDowney
 * @date 2019年4月29日 上午11:30:37
 */
public interface SystemLogService extends BaseService<SystemLog> {

	/**
	 * 保存系统日志
	 * 
	 * @param logDesc    日志描述
	 * @param handleType 操作类型
	 * @param aboutClass 相关类
	 * @return {@link SystemLog}
	 * @author: 超级小富翁 - BillDowney
	 * @date: 2019年4月29日 上午11:47:17
	 */
	public SystemLog save(String logDesc, SystemLogHandleType handleType, Class<?> aboutClass);

	/**
	 * 保存系统日志
	 * 
	 * @param logDesc    日志描述
	 * @param handleType 操作类型
	 * @param aboutClass 相关类
	 * @param note       备注
	 * @return {@link SystemLog}
	 * @author: 超级小富翁 - BillDowney
	 * @date: 2019年4月29日 上午11:47:17
	 */
	public SystemLog save(String logDesc, SystemLogHandleType handleType, Class<?> aboutClass, String note);

	/**
	 * 保存系统日志
	 * 
	 * @param logDesc       日志描述
	 * @param handleType    操作类型
	 * @param aboutClass    相关类
	 * @param note          备注
	 * @param userLoginInfo 要关联的登陆用户信息
	 * @return {@link SystemLog}
	 * @author: 超级小富翁 - BillDowney
	 * @date: 2019年4月29日 上午11:47:17
	 */
	public SystemLog save(String logDesc, SystemLogHandleType handleType, Class<?> aboutClass, String note,
			UserLoginInfo userLoginInfo);

}
